/**
 * 
 */
package com.oauth.twitter.server.service;

import java.util.List;

import com.oauth.common.server.beans.OAuthAccessToken;
import com.oauth.common.server.beans.OAuthRequestToken;
import com.oauth.twitter.client.beans.Tweet;
import com.oauth.twitter.client.beans.TwitterUser;
import com.oauth.twitter.server.beans.TwitterRequestToken;

/**
 * @author asanthan
 * 
 */
public interface TwitterOAuthService {

	public TwitterRequestToken getRequestToken() throws Exception;

	public OAuthAccessToken getAccessTokenFromDB(Long pMemberId)
			throws Exception;

	public void persistAccessToken(OAuthAccessToken pAccessToken, Long pMemberId)
			throws Exception;

	public OAuthAccessToken getAccessTokenFromRequestToken(
			OAuthRequestToken pRequestToken, String pOAuthVerifier)
			throws Exception;

	Tweet updateTweet(String pTweetText, Long pMemberId) throws Exception;

	List<Tweet> getTweets(Long pMemberId) throws Exception;

	TwitterUser getUserInfo(Long pMemberId) throws Exception;
}
